home *** CD-ROM | disk | FTP | other *** search
/ Aminet 2 / Aminet AMIGA CDROM (1994)(Walnut Creek)[Feb 1994][W.O. 44790-1].iso / Aminet / misc / amag / am9305d.lha / EGS.lha / EGS / EGS_Devels / doc / egslayers.doc < prev    next >
Text File  |  1993-03-18  |  23KB  |  1,084 lines

  1. /*
  2. *  $
  3. *  $ FILE     : egslayers.doc
  4. *  $ VERSION  : 1
  5. *  $ REVISION : 1
  6. *  $ DATE     : 08-Feb-93 09:56
  7. *  $
  8. *  $ Author   : mvk
  9. *  $
  10. *
  11. *
  12. * (c) Copyright 1990/93 VIONA Development
  13. *     All Rights Reserved
  14. *
  15. */
  16.  
  17. egslayers.library/EL_AndRectRegion
  18. egslayers.library/EL_AndRegionRegion
  19. egslayers.library/EL_AndSmartClip
  20. egslayers.library/EL_BeginUpdate
  21. egslayers.library/EL_CreateBehindLayer
  22. egslayers.library/EL_CreateLayerInfo
  23. egslayers.library/EL_CreateUpfrontLayer
  24. egslayers.library/EL_DeleteLayer
  25. egslayers.library/EL_DelRectRegion
  26. egslayers.library/EL_DelRegionRegion
  27. egslayers.library/EL_DupMoveRegion
  28. egslayers.library/EL_DupRegion
  29. egslayers.library/EL_EndUpdate
  30. egslayers.library/EL_FreeLayerInfo
  31. egslayers.library/EL_FreeRect
  32. egslayers.library/EL_FreeRegion
  33. egslayers.library/EL_FreeSmartList
  34. egslayers.library/EL_InstallLHook
  35. egslayers.library/EL_InstallLIHook
  36. egslayers.library/EL_Invalidate
  37. egslayers.library/EL_LayerToBack
  38. egslayers.library/EL_LayerToFront
  39. egslayers.library/EL_LockLayer
  40. egslayers.library/EL_LockLayerInfo
  41. egslayers.library/EL_LockLayers
  42. egslayers.library/EL_MoveLayer
  43. egslayers.library/EL_MoveLayerBehind
  44. egslayers.library/EL_MoveLayerInFront
  45. egslayers.library/EL_MoveRegion
  46. egslayers.library/EL_NewRect
  47. egslayers.library/EL_OrRectRegion
  48. egslayers.library/EL_OrRegionRegion
  49. egslayers.library/EL_RemoveRefreshRegion
  50. egslayers.library/EL_ScrollLayer
  51. egslayers.library/EL_SizeLayer
  52. egslayers.library/EL_UnlockLayer
  53. egslayers.library/EL_UnlockLayerInfo
  54. egslayers.library/EL_UnlockLayers
  55. egslayers.library/EL_UpdateBackMap
  56. egslayers.library/EL_UpdateFrontMap
  57. egslayers.library/EL_WhichLayer
  58.  
  59.  
  60.  
  61. egslayers.library/EL_AndRectRegion
  62.  
  63. NAME
  64.   EL_AndRectRegion   Ands a rectangle with a region
  65.  
  66. SYNOPSIS
  67.   rect = EL_AndRectRegion(oldList, new)
  68.   D0                      A0       A1
  69.  
  70.   EB_ClipRectPtr    rect, oldList, new;
  71.  
  72. FUNCTION
  73.   Ands a rectanle with a region. The resulting region includes all areas,
  74.   that are in both source areas.
  75.  
  76. INPUTS
  77.   oldList   : list of cliprects, describing an area, the list is disposed
  78.           during operation
  79.   new       : one cliprect
  80.  
  81. RETURNS
  82.   the resulting area
  83.  
  84.  
  85. egslayers.library/EL_AndRegionRegion
  86.  
  87. NAME
  88.   EL_AndRegionRegion   Ands two regions
  89.  
  90. SYNOPSIS
  91.   rect = EL_AndRegionRegion(oldList, newList)
  92.   D0                        A0       A1
  93.  
  94.   EB_ClipRectPtr   rect, oldList, newList;
  95.  
  96. FUNCTION
  97.   Ands a region with an other region. The resulting region includes all areas,
  98.   that are in both source areas.
  99.  
  100. INPUTS
  101.   oldList   : list of cliprects, describing an area, the list is disposed
  102.           during operation
  103.   newList   : list of cliprects, describing an area, the list is disposed
  104.           during operation
  105.  
  106. RETURNS
  107.   the resulting area
  108.  
  109.  
  110. egslayers.library/EL_AndSmartClip
  111.  
  112. NAME
  113.   EL_AndSmartClip
  114.  
  115. SYNOPSIS
  116.   rect = EL_AndSmartClip(smart, clip)
  117.   D0                     A0     A1
  118.  
  119.   EL_SmartPtr     rect, smart;
  120.   EB_ClipRectPtr  clip;
  121.  
  122. FUNCTION
  123.   Internal use only
  124.  
  125. INPUTS
  126.  
  127. RETURNS
  128.  
  129.  
  130. egslayers.library/EL_BeginUpdate
  131.  
  132. NAME
  133.   EL_BeginUpdate  Attempts to start refresh
  134.  
  135. SYNOPSIS
  136.   success = EL_BeginUpdate(layer, key)
  137.   D0                       A0     D0
  138.  
  139.   BOOL         success;
  140.   EL_LayerPtr  layer;
  141.   ULONG        key;
  142.  
  143. FUNCTION
  144.   Attempts to start an update of a simple- (or smart- in some cases) refresh
  145.   layer. The refresh key determines if this is the actual refresh. If not
  146.   the function returns 0.
  147.   During refresh the layer is locked, and the normal clipping area is replaced
  148.   by the damaged area, so that drawing only takes place in the damaged area.
  149.   The refresh may be done in several steps, using EL_BeginUpdate and
  150.   EL_EndUpdate. The refresh key solves a problem, that can occur using
  151.   splitted refresh:
  152.  
  153.     - the user moves a window
  154.     - an hidden area of a layer becomes visible
  155.     - the library sends a refresh message
  156.  
  157.     - the programm receives the refresh message
  158.     - the programm calls EL_BeginUpdate
  159.     - the programm refreshes first part of the layer
  160.     - the programm calls EL_EndUpdate(..FALSE)
  161.  
  162.     - the user moves a window
  163.     - an hidden area of a layer becomes visible
  164.     - the library sends a refresh message
  165.  
  166.     - the programm calls EL_BeginUpdate
  167.     - the programm refreshes second part of the layer, including
  168.       the second refresh area
  169.     - the programm calls EL_EndUpdate(..TRUE), the library frees then
  170.       refresh area
  171.  
  172.     - the programm receives the second refresh message, and refreshes an
  173.       empty area
  174.  
  175.     => the second area is not refreshed by the first refresh routine
  176.  
  177.   And now using a refresh key:
  178.  
  179.     - the user moves a window
  180.     - an hidden area of a layer becomes visible
  181.     - the library increments refresh key to 1, sends a refresh message
  182.  
  183.     - the programm receives the refresh message
  184.     - the programm calls EL_BeginUpdate(... 1)
  185.     - the programm refreshes first part of the layer
  186.     - the programm calls EL_EndUpdate(..FALSE)
  187.  
  188.     - the user moves a window
  189.     - an hidden area of a layer becomes visible
  190.     - the library increments refresh key to 2, sends a refresh message
  191.  
  192.     - the programm calls EL_BeginUpdate(... 1)
  193.     - calll fails, programm terminates refresh
  194.  
  195.     - the programm receives the refresh message
  196.     - the programm calls EL_BeginUpdate(... 2)
  197.     - the programm refreshes first part of the layer
  198.     - the programm calls EL_EndUpdate(..FALSE)
  199.  
  200.     - the programm calls EL_BeginUpdate(... 2)
  201.     - the programm refreshes first part of the layer
  202.     - the programm calls EL_EndUpdate(..TRUE)
  203.  
  204.     => both areas are refreshed by both routines
  205.  
  206.   If not terminated by the library (at "BeginUpdate"), a refresh should be
  207.   carried out to the "EndUpdate(l,TRUE)" since only in this way the "damage"
  208.   Region is destroyed again.  If the refresh chain is never ended with this
  209.   convention, the "damage" Region grows over the complete window, thus
  210.   losing its meaning.
  211.  
  212. INPUTS
  213.   layer  : layer, which to refresh
  214.   key    : refresh key, available in the refresh message
  215.  
  216. RETURNS
  217.   0 if attempt fails, then just forget about refresh
  218.  
  219.  
  220. egslayers.library/EL_CreateBehindLayer
  221.  
  222. NAME
  223.   EL_CreateBehindLayer  creates a layer behind all others
  224.  
  225. SYNOPSIS
  226.   layer = EL_CreateBehindLayer(info, x, y, width, height,
  227.   D0                           A0    D0 D1 D2     D3
  228.                    maxWidth, maxHeight, flags, color)
  229.                    D4        D5         D6     D7
  230.  
  231.   EL_LayerPtr     layer;
  232.   EL_LayerInfoPtr info;
  233.   WORD            x, y, width, height, maxWidth, maxHeight;
  234.   ULONG           flags;
  235.   ULONG           color;
  236.  
  237. FUNCTION
  238.   Creates a layer behind all other layers on a bitmap. If it fails returns
  239.   NULL. The layer need not be on the bitmap. If the type is superbitmap,
  240.   also allocates the needed bitmap.
  241.  
  242. INPUTS
  243.   info          : layer info structure of the bitmap
  244.   x, y          : upper left edge of the layer
  245.   width, height : dimensions of the layer
  246.   maxWidth,
  247.   maxHeight     : maximum dimensions of the layer, used to allocate
  248.           background bitmap for superbitmap layers
  249.   flags         : flags from LayerFlagSet
  250.   color         : layers background color
  251.  
  252. RETURNS
  253.   an initialized layer, or NULL if the fucntion fails
  254.  
  255.  
  256. egslayers.library/EL_CreateLayerInfo
  257.  
  258. NAME
  259.   EL_CreateLayerInfo   creates layer info structure for a bitmap
  260.  
  261. SYNOPSIS
  262.   linfo = EL_CreateLayerInfo(map, port, width, height, color, pattern)
  263.   D0                         A0   A1    D0     D1      D2     A2
  264.  
  265.   EL_LayerInfoPtr  linfo;
  266.   E_EBitMapPtr     map;
  267.   struct MsgPort * port;
  268.   WORD             width, height;
  269.   ULONG            color;
  270.   E_EBitMapPtr     pattern;
  271.  
  272. FUNCTION
  273.   Creates a layer info structure for a bitmap. This structure is needed
  274.   to use layers on this bitmap (or screen).
  275.   The structure is completely initialized and can be used to create layers
  276.   immediately.
  277.  
  278. INPUTS
  279.   map           : bitmap for the layer
  280.   port          : message port for refresh messages
  281.   width, height : layer info dimensions
  282.   color         : backgroundcolor
  283.   pattern       : pointer to an image to use as backimage, NULL to use the
  284.           backgroundcolor
  285.  
  286. RETURNS
  287.   an initialized layerinfo, or NULL if the fucntion fails
  288.  
  289.  
  290. egslayers.library/EL_CreateUpfrontLayer
  291.  
  292. NAME
  293.   EL_CreateUpfrontLayer   create a layer in front of all others
  294.  
  295. SYNOPSIS
  296.   layer = EL_CreateUpfrontLayer(info, x, y, width, height,
  297.   D0                            A0    D0 D1 D2     D3
  298.                 maxWidth, maxHeight, flags, color)
  299.                 D4        D5         D6     D7
  300.  
  301.   EL_LayerPtr     layer;
  302.   EL_LayerInfoPtr info;
  303.   WORD            x, y, width, height, maxWidth, maxHeight;
  304.   ULONG           flags;
  305.   ULONG           color;
  306.  
  307. FUNCTION
  308.   Creates a layer in front of all other layers on a bitmap. If it fails returns
  309.   NULL. The layer need not be on the bitmap. If the type is superbitmap,
  310.   also allocates the needed bitmap.
  311.  
  312. INPUTS
  313.   info          : layer info structure of the bitmap
  314.   x, y          : upper left edge of the layer
  315.   width, height : dimensions of the layer
  316.   maxWidth,
  317.   maxHeight     : maximum dimensions of the layer, used to allocate
  318.           background bitmap for superbitmap layers
  319.   flags         : flags from LayerFlagSet
  320.   color         : layers background color
  321.  
  322. RETURNS
  323.   an initialized layer, or NULL if the fucntion fails
  324.  
  325.  
  326. egslayers.library/EL_DeleteLayer
  327.  
  328. NAME
  329.   EL_DeleteLayer   delete a layer
  330.  
  331. SYNOPSIS
  332.   EL_DeleteLayer(layer)
  333.          A0
  334.  
  335.   EL_LayerPtr  layer;
  336.  
  337. FUNCTION
  338.   Deletes a layer which has been created with EL_CreateUpfrontLayer or
  339.   EL_CreateBehindLayer
  340.  
  341. INPUTS
  342.  
  343. RETURNS
  344.  
  345.  
  346. egslayers.library/EL_DelRectRegion
  347.  
  348. NAME
  349.   EL_DelRectRegion   removes a rectangle out of a region
  350.  
  351. SYNOPSIS
  352.   rect = EL_DelRectRegion(oldList, new)
  353.   D0                      A0       A1
  354.  
  355.   EB_ClipRectPtr   rect, oldList, new;
  356.  
  357. FUNCTION
  358.   Removes a rectangle out of a region. Returns a region, that conatins all
  359.   areas that are in oldList, but not in new.
  360.  
  361. INPUTS
  362.   oldList   : list of cliprects, describing an area, the list is disposed
  363.           during operation
  364.   new       : cliprect describing a rectangle
  365.  
  366. RETURNS
  367.   the resulting region
  368.  
  369.  
  370. egslayers.library/EL_DelRegionRegion
  371.  
  372. NAME
  373.   EL_DelRegionRegion   removes a region out of an other
  374.  
  375. SYNOPSIS
  376.   rect = EL_DelRegionRegion(oldList, newList)
  377.   D0                        A0       A1
  378.  
  379.   EB_ClipRectPtr   rect, oldList, new;
  380.  
  381. FUNCTION
  382.   Removes a region out of an other. Returns a region containing all areas
  383.   that where included in oldList but not in newList.
  384.  
  385. INPUTS
  386.   oldList   : list of cliprects, describing an area, the list is disposed
  387.           during operation
  388.   newList   : list of cliprects, describing an area, the list is disposed
  389.           during operation
  390.  
  391. RETURNS
  392.   the resulting region
  393.  
  394.  
  395. egslayers.library/EL_DupMoveRegion
  396.  
  397. NAME
  398.   EL_DupMoveRegion   duplicate and move region
  399.  
  400. SYNOPSIS
  401.   rect = EL_DupMoveRegion(list, dx, dy)
  402.   D0                      A0    D1  D2
  403.  
  404.   EB_ClipRectPtr   rect, list;
  405.   WORD             dx, dy;
  406.  
  407. FUNCTION
  408.   Duplicates a region, and moves the new region by dx, dy (only the structures
  409.   are modified, nothing is really moved).
  410.  
  411. INPUTS
  412.   list   : list of cliprects, describing an area
  413.  
  414. RETURNS
  415.   a copy of list, which is moved by dx, dy
  416.  
  417.  
  418. egslayers.library/EL_DupRegion
  419.  
  420. NAME
  421.   EL_DupRegion   duplicates a region
  422.  
  423. SYNOPSIS
  424.   rect = EL_DupRegion(old)
  425.   D0                  A0
  426.  
  427.   EB_ClipRectPtr   rect, old;
  428.  
  429. FUNCTION
  430.   Duplicates a region, by duplicating all cliprects. The original region is
  431.   not touched.
  432.  
  433. INPUTS
  434.  
  435. RETURNS
  436.   a deep copy of old
  437.  
  438.  
  439. egslayers.library/EL_EndUpdate
  440.  
  441. NAME
  442.   EL_EndUpdate
  443.  
  444. SYNOPSIS
  445.   EL_EndUpdate(layer, done)
  446.            A0     D0
  447.  
  448.   EL_LayerPtr   layer;
  449.   BOOL          done;
  450.  
  451. FUNCTION
  452.   Ends a phase of refreshing a layer. If done is 0 then the damaged area
  453.   is preserved, so the refresh can be continued else, the area is disposed.
  454.  
  455. INPUTS
  456.  
  457. RETURNS
  458.  
  459.  
  460. egslayers.library/EL_FreeLayerInfo
  461.  
  462. NAME
  463.   EL_FreeLayerInfo  destructs a layer info
  464.  
  465. SYNOPSIS
  466.   EL_FreeLayerInfo(info)
  467.            A0
  468.  
  469.   EL_LayerInfo   info;
  470.  
  471. FUNCTION
  472.   Frees a layer info structure and all associated structures. Also frees all
  473.   open layers on that bitmap
  474.  
  475. INPUTS
  476.  
  477. RETURNS
  478.  
  479.  
  480. egslayers.library/EL_FreeRect
  481.  
  482. NAME
  483.   EL_FreeRect
  484.  
  485. SYNOPSIS
  486.   EL_FreeRect(rect)
  487.           A0
  488.  
  489.   EB_ClipRectPtr   rect;
  490.  
  491. FUNCTION
  492.   Moves a cliprect back to the free pool. The cliprects are cached, so you may
  493.   not access the cliprect after this operation.
  494.  
  495. INPUTS
  496.  
  497. RETURNS
  498.  
  499.  
  500. egslayers.library/EL_FreeRegion
  501.  
  502. NAME
  503.   EL_FreeRegion
  504.  
  505. SYNOPSIS
  506.   EL_FreeRegion(old)
  507.         A0
  508.  
  509.   EB_ClipRectPtr   old;
  510.  
  511. FUNCTION
  512.   Moves a list of cliprects back to the free pool. The cliprects are cached, so
  513.   you may not access the region after this operation.
  514.  
  515. INPUTS
  516.  
  517. RETURNS
  518.  
  519.  
  520. egslayers.library/EL_FreeSmartList
  521.  
  522. NAME
  523.   EL_FreeSmartList
  524.  
  525. SYNOPSIS
  526.   EL_FreeSmartList(smart)
  527.            A0
  528.  
  529.   EL_SmartPtr   smart;
  530.  
  531. FUNCTION
  532.   Internal use
  533.  
  534. INPUTS
  535.  
  536. RETURNS
  537.  
  538.  
  539. egslayers.library/EL_InstallLHook
  540.  
  541. NAME
  542.   EL_InstallLHook  install a layer backfill hook
  543.  
  544. SYNOPSIS
  545.   EL_InstallLHook(layer,hook)
  546.           A0    A1
  547.  
  548.   EL_LayerPtr      layer;
  549.   EL_BackFillHook  hook;
  550.  
  551. FUNCTION
  552.   Installs a back fill hook in a layer. The layer background is filled
  553.   immediately with this function. If NULL is passed as hook, then the original
  554.   back color is used again.
  555.  
  556. INPUTS
  557.  
  558. RETURNS
  559.  
  560.  
  561.  
  562. egslayers.library/EL_InstallLIHook
  563.  
  564. NAME
  565.   EL_InstallLIHook  install a layer info backfill hook
  566.  
  567. SYNOPSIS
  568.   EL_InstallLIHook(info,hook)
  569.            A0    A1
  570.  
  571.   EL_LayerInfoPtr  info;
  572.   EL_BackFillHook  hook;
  573.  
  574. FUNCTION
  575.   Installs a back fill hook in a layer info. The screen background is filled
  576.   immediately with this function. If NULL is passed as hook, then the original
  577.   screen back color or pattern is used again.
  578.  
  579. INPUTS
  580.  
  581. RETURNS
  582.  
  583.  
  584. egslayers.library/EL_Invalidate
  585.  
  586. NAME
  587.   EL_Invalidate    invalidate a region in a layer
  588.  
  589. SYNOPSIS
  590.   EL_Invalidate(layer,region)
  591.         A0    A1
  592.  
  593.   EB_ClipRectPtr  region
  594.  
  595. FUNCTION
  596.   Invalidates a region in a layer. The region is added to the invalid list and
  597.   a message is send, if requiered. This function can be used to force a redraw
  598.   of an area of a layer/window. It is for example used by EG_ScrollRastPort.
  599.  
  600. INPUTS
  601.   region    a list of clip rects. It is not freed after usage, so the caller
  602.         has to take care of it himself.
  603.  
  604. RETURNS
  605.  
  606.  
  607.  
  608. egslayers.library/EL_LayerToBack
  609.  
  610. NAME
  611.   EL_LayerToBack   moves a layer to back
  612.  
  613. SYNOPSIS
  614.   EL_LayerToBack(layer)
  615.          A0
  616.  
  617.   EL_LayerPtr  layer;
  618.  
  619. FUNCTION
  620.   Moves a layer behind all other layers on this bitmap
  621.  
  622. INPUTS
  623.  
  624. RETURNS
  625.  
  626.  
  627. egslayers.library/EL_LayerToFront
  628.  
  629. NAME
  630.   EL_LayerToFront   moves a layer to front
  631.  
  632. SYNOPSIS
  633.   EL_LayerToFront(layer)
  634.           A0
  635.  
  636.   EL_LayerPtr  layer;
  637.  
  638. FUNCTION
  639.   Moves a layer in front of all other layers on this bitmap
  640.  
  641. INPUTS
  642.  
  643. RETURNS
  644.  
  645.  
  646. egslayers.library/EL_LockLayer
  647.  
  648. NAME
  649.   EL_LockLayer  lock a layer
  650.  
  651. SYNOPSIS
  652.   EL_LockLayer(layer)
  653.            A0
  654.  
  655.   EL_LayerPtr  layer;
  656.  
  657. FUNCTION
  658.   Locks a layer for private access of a task. This has to be done, before the
  659.   cliplists of the layer are accessed. You should have not locked any
  660.   other layer yet, to avoid deadlocks. If you want to lock more layers
  661.   than one, you should enclose this by EL_LockLayerInfo...EL_UnlockLayerInfo.
  662.   The layer has to be released by EL_UnlockLayer to keep the system alive.
  663.   If the layer is allready occupied by an other task, this function will
  664.   wait for release.
  665.   "egslayers.library", "egsgfx.library" and "egsintui.library" respect this
  666.   convention so that a layer need not be locked explicitly when calling
  667.   functions from these libraries.
  668.  
  669. INPUTS
  670.  
  671. RETURNS
  672.  
  673.  
  674. egslayers.library/EL_LockLayerInfo
  675.  
  676. NAME
  677.   EL_LockLayerInfo   lock layer info structure
  678.  
  679. SYNOPSIS
  680.   EL_LockLayerInfo(info)
  681.            A0
  682.  
  683.   EL_LayerInfoPtr  info;
  684.  
  685. FUNCTION
  686.   Locks a layer info structure for private access of one task. This call
  687.   has to be paired by an EL_UnlockLayerInfo.
  688.   If the layerinfo is allready occupied by an other task, this function will
  689.   wait for release.
  690.  
  691. INPUTS
  692.  
  693. RETURNS
  694.  
  695.  
  696. egslayers.library/EL_LockLayers
  697.  
  698. NAME
  699.   EL_LockLayers   lock all layers of a bitmap
  700.  
  701. SYNOPSIS
  702.   EL_LockLayers(info)
  703.         A0
  704.  
  705.   EL_LayerInfoPtr  info;
  706.  
  707. FUNCTION
  708.   Locks all layers of a bitmap for private access by one task. This call
  709.   has to be paired by EL_UnlockLayers. This function will first lock
  710.   the layerinfo structure then locking all layers.
  711.   If a layer is allready occupied by an other task, this function will
  712.   wait for release.
  713.   All layer functions do a EL_LockLayers...EL_UnlockLayers during execution.
  714.  
  715. INPUTS
  716.  
  717. RETURNS
  718.  
  719.  
  720.  
  721. egslayers.library/EL_MoveLayer
  722.  
  723. NAME
  724.   EL_MoveLayer   move a layer
  725.  
  726. SYNOPSIS
  727.   EL_MoveLayer(layer, dx, dy)
  728.            A0     D0  D1
  729.  
  730.   EL_LayerPtr   layer;
  731.   WORD          dx, dy;
  732.  
  733. FUNCTION
  734.   Moves a layer by a specified amount. The layer may be moved outside the
  735.   bitmap.
  736.  
  737. INPUTS
  738.  
  739. RETURNS
  740.  
  741.  
  742. egslayers.library/EL_MoveLayerBehind
  743.  
  744. NAME
  745.   EL_MoveLayerBehind   move layer behind an other
  746.  
  747. SYNOPSIS
  748.   EL_MoveLayerBehind(layer, behind)
  749.              A0     A1
  750.  
  751.   EL_LayerPtr   layer, behind;
  752.  
  753. FUNCTION
  754.   Moves a layer behind an other layer on the same bitmap.
  755.  
  756. INPUTS
  757.   layer    : layer which to move
  758.   behind   : layer that will be in front of the other after operation
  759.  
  760. RETURNS
  761.  
  762.  
  763. egslayers.library/EL_MoveLayerInFront
  764.  
  765. NAME
  766.   EL_MoveLayerInFront   move layer before an other
  767.  
  768. SYNOPSIS
  769.   EL_MoveLayerInFront(layer, front)
  770.               A0     A1
  771.  
  772.   EL_LayerPtr   layer, front;
  773.  
  774. FUNCTION
  775.   Moves a layer before an other layer on the same bitmap.
  776.  
  777. INPUTS
  778.   layer    : layer which to move
  779.   front    : layer that will be behind the other after operation
  780.  
  781. RETURNS
  782.  
  783.  
  784. egslayers.library/EL_MoveRegion
  785.  
  786. NAME
  787.   EL_MoveRegion   move a region
  788.  
  789. SYNOPSIS
  790.   rect = EL_MoveRegion(list, dx, dy)
  791.   D0                   A0    D1  D2
  792.  
  793.   EB_ClipRectPtr   rect, list;
  794.   WORD             dx, dy;
  795.  
  796. FUNCTION
  797.   Moves a region by dx, dy. This function only modifies the cliprect list,
  798.   it does not really move something.
  799.  
  800. INPUTS
  801.   list      : list of cliprects, describing an area, the list is disposed
  802.           during operation
  803.  
  804. RETURNS
  805.   a moved list
  806.  
  807.  
  808. egslayers.library/EL_NewRect
  809.  
  810. NAME
  811.   EL_NewRect   create new cliprect
  812.  
  813. SYNOPSIS
  814.   rect = EL_NewRect()
  815.   D0
  816.  
  817.   EB_ClipRectPtr   rect;
  818.  
  819. FUNCTION
  820.   Creates a cliprect by taking from the free pool.
  821.   As ClipRects used by the egslayers.library are bigger than those defined in
  822.   the egsblit.library, ClipRects used for Regions should be created by this
  823.   function (or by DupRegion).
  824.  
  825. INPUTS
  826.  
  827. RETURNS
  828.   a pointer to a cliprect structure
  829.  
  830.  
  831.  
  832. egslayers.library/EL_OrRectRegion
  833.  
  834. NAME
  835.   EL_OrRectRegion    adds a rectangle to a region
  836.  
  837. SYNOPSIS
  838.   rect = EL_OrRectRegion(oldList, new)
  839.   D0                     A0       A1
  840.  
  841.   EB_ClipRectPtr   rect, oldList, new;
  842.  
  843. FUNCTION
  844.   Adds a rectangle to a region. The result is a region that contains all areas
  845.   which had been in one ore both source regions.
  846.  
  847. INPUTS
  848.   oldlist   : list of cliprects, describing an area, the list is disposed
  849.           during operation
  850.   new       : one cliprect
  851.  
  852. RETURNS
  853.   the resulting region
  854.  
  855.  
  856. egslayers.library/EL_OrRegionRegion
  857.  
  858. NAME
  859.   EL_OrRegionRegion   adds a region to an other
  860.  
  861. SYNOPSIS
  862.   rect = EL_OrRegionRegion(oldList, newList)
  863.   D0                       A0       A1
  864.  
  865.   EB_ClipRectPtr   rect, oldList, newList;
  866.  
  867. FUNCTION
  868.   Adds a region to an other. The result is a region that contains all areas
  869.   which had been in one ore both source regions.
  870.  
  871. INPUTS
  872.   oldlist   : list of cliprects, describing an area, the list is disposed
  873.           during operation
  874.   newlist   : list of cliprects, describing an area, the list is disposed
  875.           during operation
  876.  
  877. RETURNS
  878.   the resulting region
  879.  
  880.  
  881. egslayers.library/EL_RemoveRefreshRegion (EL_LayerPtr layer, EB_ClipRectPtr region);
  882.  
  883. NAME
  884.   EL_RemoveRefreshRegion   remove part of the refresh area
  885.  
  886. SYNOPSIS
  887.   EL_RemoveRefreshRegion (layer, region);
  888.               A0     A1
  889.  
  890.   EL_LayerPtr    layer;
  891.   EB_ClipRectPtr region;
  892.  
  893. FUNCTION
  894.   Removes the supplied region from the refresh region. This function
  895.   is used if the user scrolls a layer and thus damages the newly
  896.   exposed area but refreshes this right away. This function
  897.   is then used to tell layers that the area will be refreshed.
  898.   This will change the RefreshKey in the layer, so the refresh message
  899.   doesn't cause a refresh.
  900.  
  901. INPUTS
  902.   layer  : affected layer
  903.   region : area that the application is going to refresh now,
  904.        in layer relative coordinates (i.e. window-relative)
  905.  
  906. RETURNS
  907.   none
  908.  
  909.  
  910.  
  911. egslayers.library/EL_ScrollLayer
  912.  
  913. NAME
  914.   EL_ScrollLayer   scroll the contents of a layer
  915.  
  916. SYNOPSIS
  917.   EL_ScrollLayer(layer, dx, dy)
  918.          A0     D0  D1
  919.  
  920.   EL_LayerPtr   layer;
  921.   WORD          dx, dy;
  922.  
  923. FUNCTION
  924.   Scrolls the interior of a layer by dx, dy. This function will cause a refresh
  925.   in smart- and simplerefresh layers. This has to be used if the visible part
  926.   of a superbitmap layer has to be moved.
  927.  
  928. INPUTS
  929.   layer : affected layer
  930.   dx    : number of pixels to scroll horizontally
  931.   dy    : number of pixels to scroll vertically
  932.  
  933. RETURNS
  934.   none
  935.  
  936. egslayers.library/EL_SizeLayer
  937.  
  938. NAME
  939.   EL_SizeLayer   modify size of a layer
  940.  
  941. SYNOPSIS
  942.   EL_SizeLayer(layer, dx, dy)
  943.            A0     D0  D1
  944.  
  945.   EL_LayerPtr   layer;
  946.   WORD          dx, dy;
  947.  
  948. FUNCTION
  949.   Modifies the visible size of a layer by dx, dy. This function will cause
  950.   a refresh in smart- and simplerefresh layers. You should not resize a layer
  951.   that much that its visble area exceeds the maximum given in
  952.   EL_Create...Layer.
  953.  
  954. INPUTS
  955.  
  956. RETURNS
  957.  
  958.  
  959. egslayers.library/EL_UnlockLayer
  960.  
  961. NAME
  962.   EL_UnlockLayer   unlock a layer
  963.  
  964. SYNOPSIS
  965.   EL_UnlockLayer(layer)
  966.          A0
  967.  
  968.   EL_LayerPtr    layer;
  969.  
  970. FUNCTION
  971.   Unlocks a layer, pair to EL_LockLayer.
  972.  
  973. INPUTS
  974.  
  975. RETURNS
  976.  
  977.  
  978. egslayers.library/EL_UnlockLayerInfo
  979.  
  980. NAME
  981.   EL_UnlockLayerInfo  unlock layer info structure
  982.  
  983. SYNOPSIS
  984.   EL_UnlockLayerInfo(info)
  985.              A0
  986.  
  987.   EL_LayerInfoPtr   info;
  988.  
  989. FUNCTION
  990.   Unlocks a layer info structure, pair to EL_LockLayerInfo.
  991.  
  992. INPUTS
  993.  
  994. RETURNS
  995.  
  996.  
  997. egslayers.library/EL_UnlockLayers
  998.  
  999. NAME
  1000.   EL_UnlockLayers
  1001.  
  1002. SYNOPSIS
  1003.   EL_UnlockLayers(info)
  1004.           A0
  1005.  
  1006.   EL_LayerInfoPtr   info;
  1007.  
  1008. FUNCTION
  1009.   Unlocks all layers of a layer info structure, pair to EL_LockLayers.
  1010.  
  1011. INPUTS
  1012.  
  1013. RETURNS
  1014.  
  1015.  
  1016. egslayers.library/EL_UpdateBackMap
  1017.  
  1018. NAME
  1019.   EL_UpdateBackMap  updates the back map of a superbitmap layer
  1020.  
  1021. SYNOPSIS
  1022.   EL_UpdateBackMap(layer)
  1023.            A0
  1024.  
  1025.   EL_LayerPtr   layer;
  1026.  
  1027. FUNCTION
  1028.   Updates the backmap of a superbitmap window, by copying the visible part
  1029.   into the backmap. This is handy to have all information in one bitmap,
  1030.   in order to save an image etc. You should lock the layer, to make sure it
  1031.   is not altered, while using the backmap. If you modify the backmap you
  1032.   should call EL_UpdateFrontMap, to modify the visible part too.
  1033.  
  1034. INPUTS
  1035.  
  1036. RETURNS
  1037.  
  1038.  
  1039. egslayers.library/EL_UpdateFrontMap
  1040.  
  1041. NAME
  1042.   EL_UpdateFrontMap   update visible part of a superbitmap layer
  1043.  
  1044. SYNOPSIS
  1045.   EL_UpdateFrontMap(layer)
  1046.             A0
  1047.  
  1048.   EL_LayerPtr   layer;
  1049.  
  1050. FUNCTION
  1051.   Updates the visible part of a superbitmap layer by copying the visible
  1052.   parts from the backmap to screen. If you want to render in the backmap,
  1053.   and then update the front map, you should surround the rendering by a
  1054.   EL_LockLayer...EL_UnlockLayer pair, to make sure, that no parts of the
  1055.   visible area are copied to the backmap caused by user actions.
  1056.  
  1057. INPUTS
  1058.  
  1059. RETURNS
  1060.  
  1061.  
  1062. egslayers.library/EL_WhichLayer
  1063.  
  1064. NAME
  1065.   EL_WhichLayer   Which layer is a point in ?
  1066.  
  1067. SYNOPSIS
  1068.   layer = EL_WhichLayer(info, x, y)
  1069.   D0                    A0    D0 D1
  1070.  
  1071.   EL_LayerPtr      layer;
  1072.   EL_LayerInfoPtr  info;
  1073.   WORD             x, y;
  1074.  
  1075. FUNCTION
  1076.   Returns the topmost layer that conatins the given point. If no layer
  1077.   contains it returns NULL.
  1078.  
  1079. INPUTS
  1080.  
  1081. RETURNS
  1082.  
  1083.  
  1084.